import axios from "axios";

// 创建axios实例
const service = axios.create({
  baseURL: '', // 默认请求的URL路径
  timeout: 2000, // 设置请求超时时间  
  headers: {
    "Content-Type": "application/json;charset=utf-8",
  }
})


// 添加请求拦截器
service.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
service.interceptors.response.use(function (response) {
  if (response.status === 200) {
    // 接口正常返回200 
    return Promise.resolve(response.data);
  } else {   
    // 否则的话抛出错误
    return Promise.reject(response);
  }
}, function (error) {
  console.log("1111");
  let errmsg = "";
  switch (error.response.status) {
    /* eslint-disable no-param-reassign */
    case 400:
      errmsg = '请求错误';
      break;
    case 401:
      errmsg = '未授权，请登录';
      break;
    case 403:
      errmsg = '拒绝访问';
      break;
    case 404:
      errmsg = `请求地址出错: ${error.response.config.url}`;
      break;
    case 408:
      errmsg = '请求超时';
      break;
    case 500:
      errmsg = '服务器内部错误';
      break;
    case 501:
      errmsg = '服务未实现';
      break;
    case 502:
      errmsg = '网关错误';
      break;
    case 503:
      errmsg = '服务不可用';
      break;
    case 504:
      errmsg = '网关超时';
      break;
    case 505:
      errmsg = 'HTTP版本不受支持';
      break;
    default:
      break;
      /* eslint-disabled */
  } 
  return Promise.reject(errmsg);
});

export default service;
